/**
 * 扩展刚被安装的时候，触发一些初始化的事件操作在这里维护。
 * contexts域的值是数组型的，也就是说我们可以定义多种情况下显示自定义菜单，完整的选项包括all、page、frame、selection、link、editable、image、video、audio和launcher，默认情况下为page，即在所有的页面唤出右键菜单时都显示自定义菜单。其中launcher只对Chrome应用有效，如果包含launcher选项，则当用户在chrome://apps/或者其他地方的应用图标点击右键，将显示相应的自定义菜单。需要注意的是，all选项不包括launcher。有时我们不仅想在特定的情况下显示自定义菜单，还希望限定URL，chrome同样提供了匹配URL的选项。documentUrlPatterns允许限定页面的URL，比如我们可以限定只在Google的网站上显示自定义菜单；targetUrlPatterns和documentUrlPatterns差不多，但它所限定的不是标签的URL，而是诸如图片、视频和音频等资源的URL。
 * 如果在创建菜单时，定义了onclick域，则菜单被点击后就会调用onclick指定的函数。调用的函数会接收 到两个参数，分别是点击后的相关信息和当前标签信息。点击后的相关信息包括菜单id、上级菜单id、媒 体类型（image、video或audio）、超级链接目标、媒体URL、页面URL、框架URL、选择的文字、是否 可编辑（只针对text input和textarea等控件）、用户点击前是否被选中和当前是否被选中（只针 对checkbox或radio）。完整的信息结构可以通过http://developer.chrome.com/extensions/contextMenus#typeOnClickData查看。 update方法可以动态更改菜单属性，指定需要更改菜单的id和所需要更改的属性即可。remove方法可以删 除指定的菜单，removeAll方法可以删除所有的菜单。
*/
export function install(details: chrome.runtime.InstalledDetails) {
    // console.log(details);
    chrome.contextMenus.create({
        type: 'normal',
        title: 'Menu A',
        id: 'a',
        documentUrlPatterns:['https://www.baidu.com/*']
    });
    chrome.contextMenus.create({
        type: 'radio',
        title: 'Menu B',
        id: 'b',
        checked: true
    });
    chrome.contextMenus.create({
        type: 'radio',
        title: 'Menu C',
        id: 'c'
    });
    chrome.contextMenus.create({
        type: 'checkbox',
        title: 'Menu D',
        id: 'd',
        checked: true
    });
    chrome.contextMenus.create({
        type: 'separator'
    }); chrome.contextMenus.create({
        type: 'checkbox',
        title: 'Menu E',
        id: 'e'
    });
    chrome.contextMenus.create({
        type: 'normal',
        title: 'Menu F',
        id: 'f',
        parentId: 'a'
    });
    chrome.contextMenus.create({
        type: 'normal',
        title: 'Menu G',
        id: 'g',
        parentId: 'a'
    });
}